From: Руслан Ижбулатов Date: Mon, 4 Sep 2017 14:42:11 +0000 (+0000) Subject: GDK W32: Plug a resource leak X-Git-Tag: archive/raspbian/3.24.39-1+rpi1~1^2~65^2~38^2~135 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success/%22http:/www.example.com/cgi/success?a=commitdiff_plain;h=6d0b0cb99bbe8bf67be7d7450c67095989d8aec5;p=gtk%2B3.0.git GDK W32: Plug a resource leak Ensure that surfaces allocated in the impl are destroyed in finalize() https://bugzilla.gnome.org/show_bug.cgi?id=787089 --- diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index bb92f0e5d9..ea510e4bd4 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -256,6 +256,21 @@ gdk_window_impl_win32_finalize (GObject *object) g_free (window_impl->decorations); + if (window_impl->cache_surface) + { + cairo_surface_destroy (window_impl->cache_surface); + window_impl->cache_surface = NULL; + } + + if (window_impl->cairo_surface) + { + cairo_surface_destroy (window_impl->cairo_surface); + window_impl->cairo_surface = NULL; + } + + g_assert (window_impl->transient_owner == NULL); + g_assert (window_impl->transient_children == NULL); + G_OBJECT_CLASS (parent_class)->finalize (object); }